GSM and other cellular networks often provide data services that allow the sending and receiving of computer and facsimile data. For example, the General Packet Radio Service (GPRS) is a new GSM data service that provides packet-switched data transmission for GSM mobile radios. The General Packet Radio Service allows the mobile station to establish a data session with an Internet server providing packet data service. The mobile station accesses the fixed network (e.g., GPRS network) via a Packet Data Channel on the air interface. The connection over the Internet utilizes the TCP/IP protocol for end-to-end delivery.
While roaming, it may be necessary for the mobile station to switch channels to maintain a communications link or to ensure a minimum quality standard for the communication link. While a packet data session is in progress, the mobile station monitors the signal strength on the current control channel, as well as the signal strength on control channels in adjacent cells in order to determine which channel provides the strongest signal. When the signal strength in an adjacent control channel is stronger than the signal strength of the current control channel, the mobile station will switch to the adjacent cell. The process of switching from a channel in the current cell to a control channel in an adjacent cell is known as a re-selection.
In the case of a mobile station engaged in a packet data session on a Packet Data Channel, the re-selection is normally initiated by the mobile station. When the mobile station changes to the new channel, the GPRS network moves the TCP/IP connection to the base station controlling the new channel by the network and the packet data session will be continued without interruption. From the mobile user's point of view, the packet data session will appear uninterrupted. This is known as a seamless re-selection.
To facilitate the re-selection, the base station provides the mobile station a neighbor list containing control channels suggested in neighboring cells on which to perform power measurements. This neighbor list is transmitted by the base station in a neighbor cell list message broadcasted on the control channel for the current cell. While monitoring the control channels on the neighbor cell list, the mobile station must read the base station identification code (BSIC) which is transmitted on each of the neighboring control channels. This allows the mobile station to identify and confirm that the control channels monitored by the mobile station are the intended ones. When a control channel in one of the adjacent cells becomes stronger than the current control channel, the mobile station makes a decision to re-select to the stronger channel. The mobile station must then synchronize to the new channel and read the broadcast information before it is able to send or receive data on the new channel. Once the mobile station has synchronized to the new channel, the network can switch the connection to the base station serving the new channel and can start forwarding packet data to and from the mobile station.
At present, there have been some difficulties in implementing packet data services in mobile communication networks. For example, the TCP protocol flow control mechanism is not well suited to radio channel communication. During the re-selection process, while the mobile station is attempting to synchronize to the new channel and read information thereon, the TCP peers will not be able to send and receive payload and control information as required for optimal performance. TCP protocol timers may expire in the TCP flow algorithm, which may slow down the throughput and cause the TCP protocol to go into recovery mode. When the mobile station eventually completes the re-selection process, there may be some delay in re-establishing the flow of data and, therefore, the throughput will be degraded. In some cases, the TCP connection may be lost and the session closed. These problems will result in a perceivable degraded service for the end-user.
In the interest of enhancing the grade or quality of services provided to end-users, it is important to minimize the amount of time the mobile station spends performing a re-selection during a packet data session.